package edu.uoc.vmerinom.tfc.support;

import org.jboss.seam.core.Interpolator;
import org.jboss.seam.faces.FacesMessages;
import org.jboss.seam.international.StatusMessage.Severity;

/**
 * Clase de soporte con métodos que permiten la interacción con los mensajes de
 * la aplicación.
 * 
 * @author Víctor Manuel Merino Martínez
 * 
 */
public class Message {
	/**
	 * Añade un mensaje de información a la cola de mensajes de JSF.
	 * 
	 * @param message
	 *            Identificador del mensaje
	 * @param params
	 *            Parámetros del mensaje
	 */
	public static void info(String message, Object... params) {
		FacesMessages.instance().addFromResourceBundle(Severity.INFO, message, params);
	}

	/**
	 * Añade un mensaje de error a la cola de mensajes de JSF.
	 * 
	 * @param message
	 *            Identificador del mensaje
	 * @param params
	 *            Parámetros del mensaje
	 */
	public static void error(String message, Object... params) {
		FacesMessages.instance().addFromResourceBundle(Severity.ERROR, message, params);
	}

	/**
	 * Devuelve el mensaje según el código de mensaje que recibe por parámetros.
	 * 
	 * @param message
	 *            Código del mensaje
	 * @param params
	 *            Parámetros del mensaje
	 * @return Cadena con el mensaje
	 */
	public static String get(String message, Object... params) {
		String string = "#{messages['" + message + "']}";
		return Interpolator.instance().interpolate(string, params);
	}
}
